home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-11 / clipdbug.zip / CLIPDBG.DOC < prev    next >
Text File  |  1993-01-04  |  8KB  |  178 lines

  1.  
  2.  
  3.  
  4.  
  5.                  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  6.                ▓▓░░                                      ░░
  7.                ▓▓░░                                      ░░
  8.                ▓▓░░    CLIPDBG!: THE POOR MAN'S          ░░
  9.                ▓▓░░    CLIPPER SOURCE CODE DEBUGGER!     ░░
  10.                ▓▓░░                                      ░░
  11.                ▓▓░░             VERSION 1.00             ░░
  12.                ▓▓░░                                      ░░
  13.                ▓▓░░    WRITTEN BY DARREN J. FORCIER      ░░
  14.                ▓▓░░                                      ░░
  15.                ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  16.                ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.                              
  28.                             INTRODUCTION
  29.  
  30.  
  31.   Welcome, fellow Clipper programmer to CLIPDBG!, the ultimate in shareware
  32.   source code debugging for Clipper.  With CLIPDBG!, you can get all the
  33.   benefits of the Nantucket Integrated Debugger, with the added extra of
  34.   actually being able to trace your source code as it executes!  This can
  35.   save you hours of costly debugging time, especially on those hard to
  36.   trace logic loops and errant if/case structures which drives most of us
  37.   rabid.  Let me give you a little background on why I have created this
  38.   Clipper utility.
  39.  
  40.   I have been programming in dBase and Clipper for a few years.  At one 
  41.   point in my career I had been doing a project in Microsoft 'C' and was
  42.   introduced to the wonders of Microsoft Codeview, a source level debugging
  43.   utility.  I was writing a sales tracking system for an Auto Dealership,
  44.   and they wanted it to be fairly portable to different hardware platforms,
  45.   hence I chose 'C' instead of dBase/Clipper at the time.  To make a long
  46.   story short, I had about 10,000 lines of C code, and found the project
  47.   had grown enormously.  I found using Codeview to trace through my programs
  48.   and view my source code as it executed saved me many hours of endless
  49.   debugging with coding watch variables and trace point statements embedded
  50.   in the source code.  I solved more stray loops, errant case structures
  51.   and uninitialized pointers than I would have thought humanly possible.
  52.  
  53.   After that project was over, I was back to programming in Clipper for my
  54.   next project, this time with the Summer '87 version.  I was thrilled to
  55.   find that they had greatly improved their debugger from the Autumn '86
  56.   version.  But alas, to my dismay, they didn't offer source level debugging
  57.   like Codeview did.  So for a few months, I pretty much bit the bullet,
  58.   and worked with the debugger as it stood.  Now don't get me wrong, with
  59.   single stepping, watch points, break points, and everything else but
  60.   source level debugging, the Nantucket debugger is still a pretty kick-a**
  61.   debugger.  But it still wasnt the same.
  62.  
  63.   Then one night I was dreaming about programming (I do that sometimes), and
  64.   I saw a way to possibly create a codeview style source window in the
  65.   debugger, to trace source code statements as they execute.  Hence I got up,
  66.   got the coffee flowing, and worked on my first prototype of a source 
  67.   level debugger for Clipper.  The rest, they say, is history.
  68.  
  69.  
  70.  
  71.                             THE DEBUGGER
  72.  
  73.   CLIPDBG! consists of a Clipper format .OBJ module which you link into 
  74.   your application and call through the Nantucket Debugger.  Before you
  75.   link it into your application, you must do the following:
  76.  
  77.   1. Insert the following lines of code at the top of each module you
  78.      want to debug:
  79.  
  80.     
  81.      PUBLIC _SRC, _SDDEBUG
  82.  
  83.      Status = SDINIT("<SOURCFILE>")   
  84.  
  85.      ALTD()
  86.      ALTG(.T.)
  87.  
  88.      where <SOURCEFILE> is the .PRG filename of the module to debug.  Be
  89.      sure to include the .PRG extension, and wrap quotes around it.  The
  90.      ALTD() Enables the Clipper Debugger.  ALTG(.T.) enables CLIPDBG!.
  91.      Note that you only have to enable the Clipper debugger once, at the
  92.      top file (usually a main menu or something) in your system.  The 
  93.      Status field is an optional return variable you can use to test the
  94.      success status of the SDINIT function.  A returned value of 0 means
  95.      success, and a value of -1 means the source code file could not 
  96.      be loaded, most likely because it isn't in the current directory. Note
  97.      that you may put a directory path in front of the source file name
  98.      in SDINIT.
  99.   
  100.  
  101.   2. Insert the following line of code at the top of all modules you DO NOT
  102.      wish to trace through:
  103.  
  104.      ALTG(.F.)
  105.  
  106.  
  107.  
  108.   Now you are ready to debug your application.  Make sure you link in
  109.   Nantucket's DEBUG.OBJ, and CLIPDBG.OBJ into your application.  When
  110.   you run your program, you will see the Clipper Debugger's window appear.
  111.   At the window, toggle over to the watch menu.  At this point you will
  112.   add a watch for the following:
  113.  
  114.   SDBUG(_SRC,PROCLINE())
  115.  
  116.   Make sure you type it in exactly.  If you have done this correctly you
  117.   will see the source window open up.  If you have not, you will see the
  118.   message <UNDEFINED> in the watch window.  When you have your source code
  119.   up, you may now go over to the Control menu, and chose your options (Go,
  120.   Go Animation, Go Key, Single Step.)  For maximum debugging control, I
  121.   recommend single step, although in Go Animation mode the program flows
  122.   at a reasonable speed for viewing the source code.  Note that you may
  123.   also specify any other watchpoints you wish in the watch window, and
  124.   do any other Nantucket debugger options you wish.
  125.  
  126.                             
  127.                          DISABLING THE DEBUGGER
  128.  
  129.   For the most part, the debugger will stay on until a source file is
  130.   encountered with an ALTG(.F.) in it.  This will turn off the debugger,
  131.   and clear out the window which was displaying the source.  There is
  132.   also a hot key set up to toggle CLIPDBG! on or off. This is ALT-G, and
  133.   will temporarily turn the debugger off.  Unfortunately at this point
  134.   I haven't figured out a decent buffering scheme to keep the underlying
  135.   screen intact, but that will come eventually.  At any rate, if you are
  136.   trying to debug a section of source code, you are more concerned with
  137.   watching the statements flow anyway.  Once you get past the logic problems,
  138.   you can remove the CLIPDBG! initialization (or comment it out), and
  139.   your program will run normally.
  140.  
  141.  
  142.  
  143.               NOW THE NITTY-GRITTY STUFF: LICENSING, MONEY, ETC.
  144.  
  145.  
  146.   Yes folks, you guessed it, I am now going to make a sales pitch.  Here
  147.   goes:  
  148.  
  149.   If you find CLIPDBG! useful (I am sure you will, it has already helped
  150.   me, and I wrote it!), I would greatly appreciate your registering it.
  151.   I have basically one fee: $20.00 which will entitle you to a full site
  152.   license, updates and new features as I create them, and the source code,
  153.   so you can see how I created this neat little utility.  If you wish
  154.   to register it, send a check or M.O. to the following Address:
  155.  
  156.  
  157.                       Darren J. Forcier
  158.                       Forcier Computer Services
  159.                       R.F.D. #2 Box 138
  160.                       Southbridge, Ma. 01550
  161.  
  162.                       Tel No. 413-245-6687.
  163.  
  164.   Please make checks payable to Darren J. Forcier.  Upon receipt of your
  165.   registration fee I will mail you a diskette containing the latest 
  166.   version of the program, source code, and a little personal letter
  167.   to you, thanking you for your patronage.  (No mail merge, it WILL be
  168.   personalized.)
  169.  
  170.   
  171.   Thank you.  Good luck with it.  If anyone finds any problems or bugs,
  172.   please let me know about them, even if you don't register.  I am on
  173.   the Source from time to time at BGC103, and Compuserve at 72117,1632.
  174.   I also frequent the DataBased Advisor ForumBoard BBS.  Happy Clipping!
  175.  
  176.  
  177.  
  178.